{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a9207c72",
   "metadata": {
    "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19",
    "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5",
    "papermill": {
     "duration": 0.003352,
     "end_time": "2022-06-19T01:17:39.487308",
     "exception": false,
     "start_time": "2022-06-19T01:17:39.483956",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "# 知识图谱实战（第21期）第6课书面作业\n",
    "学号：115688\n",
    "\n",
    "**作业内容：**  \n",
    "除了课程上提交到的实体消歧方法，请查阅一下相关资料，分享一下更多的不同的实体消歧方法。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f1237c5",
   "metadata": {
    "papermill": {
     "duration": 0.002133,
     "end_time": "2022-06-19T01:17:39.491917",
     "exception": false,
     "start_time": "2022-06-19T01:17:39.489784",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "**答：**  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e477e13d",
   "metadata": {
    "papermill": {
     "duration": 0.001972,
     "end_time": "2022-06-19T01:17:39.496199",
     "exception": false,
     "start_time": "2022-06-19T01:17:39.494227",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## 1 基于无监督聚类的实体消歧  \n",
    "###  1.1 基于词袋模型的聚类方法  \n",
    "  基于词袋模型的聚类方法也称为基于空间向量模型的聚类方法。典型的方法是将当前语料库中实体指称项周围的词组成特征向量，然后利用向量的相似度对指称项进行比较，并将指称项划分到最接近的实体引用项集合中。基于词袋模型的聚类方法采用的特征向量往往不能很好地代表实体本身，而且实体之间的向量区分不明确，从而影响聚类效果。  \n",
    "###  1.2 基于语义特征的聚类方法  \n",
    "  基于语义特征的聚类方法与基于词袋模型的聚类方法类似，但两者的构造方法不同。语义模型的特征向量不仅包括词袋向量，还包含语义特征。但是基于语义特征的聚类方法很难达到最优。  \n",
    "###  1.3 基于社会化网络的聚类方法  \n",
    "  基于社会化网络的聚类方法遵循“物以类聚,人以群分”的原则。该类方法先构造社会化网络，再利用网络中的社会关系计算实体指称项之间的相似度提出了一个基于聚类的人名消歧系统，将从文本中提取实体之间的个人属性和社会关系映射到一个无向加权图(属性-关系图)，使用聚类算法对图进行聚类，其中每个聚类包含指向一个人的所有web页面。基于社会化网络的聚类方法较为注重实体之间的关系而忽略实体本身的特征以及实体的上下文特征，并且网络构造难度大、复杂度高。  \n",
    "###  1.4 基于百科知识的聚类方法  \n",
    "  百科类网站通常会为每个实体(指称项)分配一个单独页面，其中包括指向其他实体页面的超链接，百科知识模型正是利用这种链接关系来计算实体指称项之间的相似度。  \n",
    "###  1.5 基于多源异构语义知识融合的聚类方法  \n",
    "  传统的聚类实体消歧方法所使用的目标知识库通常只有一种，覆盖度有限。采用多源异构知识可以克服这一缺点。多源异构知识是指知识源中存在大量的多源异构知识，挖掘和集成不同知识源中的结构\n",
    "化语义知识表示模型来统一表示这些语义知识可以提高实体消歧效率。这种方法的多源异构知识表示框架为结构化语义关联图。语义关联图中每个节点代表一个独立的概念，节点之间的边代表概念之间的语义关系，边的权重代表语义关系的权重。但是该方法使用多个知识库进行聚类，多种数据源之间表达方式略有差异且组合难度大，从而导致实体聚类效果差。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84f84451",
   "metadata": {
    "papermill": {
     "duration": 0.002008,
     "end_time": "2022-06-19T01:17:39.500383",
     "exception": false,
     "start_time": "2022-06-19T01:17:39.498375",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## 2 基于实体链接的实体消歧  \n",
    "  基于实体链接的实体消歧的任务是将给定实体指称项链接到目标知识库中的相应实体上。主要分为两个步骤：候选实体的生成和候选实体的链接。实体链接又分为基于知识库的实体链接以及基于知识\n",
    "图谱的实体链接。  \n",
    "###  2.1 候选实体的生成  \n",
    "候选实体的生成首先需要给定一个实体指称项。然后根据知识、规则等信息找到实体指称项所对应的候选实体列表。  \n",
    "####  2.1.1 基于词典构建的方法  \n",
    "这种方法主要针对目标库为维基百科知识库。利用维基百科的页面信息可构建实体指称与实体之间的映射关系，生成指称-实体映射词典。常用方法为构建同义词词典及歧义词典。首先通过同义词词典\n",
    "将实体指称映射为规范形式，然后通过歧义词典获得实体指称的初始候选实体集合。一般通过字典生成的候选集合往往比较大，为了有效减小候选实体集合大小，需要对初始候选集合中候选实体进行排序和过\n",
    "滤，排序指标主要有字表面相似性、上下文相似性以及实体流行度。基于词典构建的方法其候选生成效果并不理想，一方面会产生过多的候选实体，另一方面对目标实体的覆盖度还不够高。  \n",
    "####  2.1.2 基于表面形式扩展的候选生成方法  \n",
    "命名实体指称通常情况为全名，但有时会碰到缩写的形式，通过扩展技术识别实体指称可能会出现的相关扩展变化。基于表面形式扩展的候选生成方法包括基于启发式的方法和基于监督学习的方法。  \n",
    "####  2.1.3 基于目标库的候选生成方法  \n",
    "由于目标知识库(例如维基百科、DBpedia等)包含多种页面数据。可以利用这些页面数据找到候选实体。主要利用消歧页面以及重定向页面的信息生成候选实体。对于有歧义的实体，消歧页面进行了总结，重定向页面中汇总了提及以及其对应的别名。从消歧数据集中添加候选实体并利用提供的数据集，结合实体先验概率生成候选实体列表。  \n",
    "### 2.2 基于知识库的实体链接系统  \n",
    "  基于知识库的实体链接系统的目标知识库通常为维基百科知识库。最常用的两种候选实体链接方法是局部实体链接和协同实体链接：  \n",
    "#### 2.2.1 局部实体链接  \n",
    "  局部实体链接通常得到实体指称以及实体的上下文信息的特征表示，然后计算实体指称以及实体表示的相似度以选出目标实体。局部实体链接方法主要包括传统特征方法和表示学习方法两种：  \n",
    "##### 2.2.1.1 传统特征方法  \n",
    "  传统特征方法的核心是如何手工设计有效的特征，其中实体的表示很简单。例如利用Bow模型得到实体指称项和候选实体的向量，将余弦相似度得分最高的作为候选实体。  \n",
    "  传统特征方法对目标实体和实体指称项表示都是启发式的，如词袋模型、TF-IFD等。这些启发式算法很难调整，而且很难捕获更细粒度的语义信息和结构信息，所以传统特征方法不是主流的方法。  \n",
    "##### 2.2.1.2 表示学习方法  \n",
    "  表示学习方法的核心是如何获得实体和实体指称项上下文的分布式表示。一般实体的表示比较复杂，可能从不同粒度来表示实体，可能会用到实体的类别(entity type)信息。通常采用神经网络的方法自动学习实体以及实体指称项的分布式表示。神经网络常用的有LSTM、CNN、RNN等。  \n",
    "#### 2.2.2 协同实体链接  \n",
    "  协同实体链接认为，一个文档中的实体具有一定的关联性，因而在局部链接之上增加了一个全局项(协同策略)来综合考虑目标实体之间的一致性。对文档内所有实体指称项进行协同链接可以提升实体链\n",
    "接的性能。全局链接方法有基于图的方法、基于条件随机场的方法、基于Pair-Linking的方法和基于深度学习的方法。  \n",
    "##### 2.2.2.1 基于图的方法  \n",
    "基于图的方法通常将所有实体指称的候选实体作为图的节点，指称之间的联系作为边的权重构成图模型，在此基础上采用消歧算法为实体指称选出一组最有可能的实体组合。采用图方法主要有3\n",
    "个步骤:候选实体生成、实体相关图构造和集成实体链接。实体链接算法以维基百科作为本地知识库,对给定的文本首先提取出所有实体指称项,并通过查询确定每个实体指称项在知识库中的候选链接对象;然后采用随机游走方法对实体-候选构成图中的候选实体进行排序,得到实体链接的推荐结果。对图中每个节点设置一个初始置信度评分,使用页面排序算法对节点进行排序,将最后的排序与候选实体的初始置信度相结合选出正确的实体。这样构建实体相关图，图的节点为所有提及的候选实体，边为实体之间的转换概率，在实体相关图上采用动态PageRank算法选出所有提及的正确实体。  \n",
    "基于图的方法对于全局消歧有很好的准确性，但很难与局部方法联合对消歧进行优化。  \n",
    "##### 2.2.2.2 基于条件随机场的方法  \n",
    "基于条件随机场(CRF)模型全局方法可以很好地与局部方法联合起来。一元因子从每个任务的强基线编码本地特性，添加二进制和三元因子来捕获跨任务交互，将实体识别与实体消歧联合实现。可以利用最大化似然函数对条件随机场模型进行训练,采用环路信念传播(loopy beliefpropagation)对条件随机场模型进行解码。在局部注意力机制基础上利用条件随机场来建模全局项以进行消歧。  \n",
    "##### 2.2.2.3 基于Pair-Linking的方法  \n",
    "现有的协同链接方法假设每一个链接到的候选实体都要与其他所有的实体相关，这一假设在多主题的长文档中并不一定成立；而且要考虑所有链接的实体之间的一致性，现有方法计算复杂度高。通过对实体Pair-Linking可以克服这一弊端。  \n",
    "##### 2.2.2.4 基于深度学习的方法  \n",
    "现有的协同链接方法实现较为复杂，需要时间较多。通过深度学习的方法对局部信息以及全局信息进行编码，可以大大提高实体消歧效率。可以使用CNN学习局部上下文、提及、实体、类型信息的语义表征，使用随机漫步网络对文档信息进行学习，结合局部信息和全局信息得到文档中每个提及所对应的正确实体。虽然基于深度学习的方法消歧效率较高,但由于文档较多,训练起来工程很大,一些研究者将深度学习的方法与基于图的方法结合起来进行集体消歧。  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3efca2e9",
   "metadata": {
    "papermill": {
     "duration": 0.001934,
     "end_time": "2022-06-19T01:17:39.504535",
     "exception": false,
     "start_time": "2022-06-19T01:17:39.502601",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "### 3 基于知识图谱的实体链接系统    \n",
    "基于知识库的实体链接系统的目标知识库通常为维基百科知识库。最常用的两种候选实体链接方法是局部实体链接和协同实体链接。  \n",
    "#### 3.1 局部实体链接\n",
    "局部实体链接主要利用实体指称以及候选实体的上下文信息选出目标实体候选实体。  \n",
    "利用深度学习的方法对知识图谱的实体链接系统进行改进，从而提高了消歧系统的性能。例如,用一个深层语义匹配模型,模型使用字-LSTM和词-LSTM学习得到字以及上下文的匹配分数,并进行加权求和后对所有候选实体排序。还可以利用随机游走技术将图数据映射到多维实体空间中，利用Multi-Sense LSTM模型实现实体链接。知识图谱利用图神经网络进行学习，能更好地学习到图结构数据的特征表示。一些研究者利用图神经网络(GCN、GAT)学习知识图的连续性表示，使得链接准确率得到提高。  \n",
    "#### 3.2 协同实体链接  \n",
    "基于知识图谱的协同实体链接假设文档中所有实体指称在知识图谱中所对应的目标实体是相关的，所以对一个文档中的多个指称项一起连接到目标知识图谱中。 可以构建地理知识图,并在图上进行集体实体消歧。在图数据中找出每个文本所对应的候选实体构成提及-实体图,利用局部相似度为图模型提及、实体的每条边赋予权重,为图中每个节点进行打分，并与节点的嵌入分数相结合得到最终实体得分。这种方法通过考虑文档之间实体的关联性进行消歧比局部消歧更加高效，但由于目标知识图谱的数据关系结构较复杂，会降低消歧率。基于知识图谱的实体链接系统的目标知识图谱是结构化的数据方式，实体的邻居节点可作为上下文信息，实体与实体之间的关系也可对链接提供帮助。基于知识图谱的链接系统会成为未来实体消歧研究热点。  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "44a9fee1",
   "metadata": {
    "papermill": {
     "duration": 0.001925,
     "end_time": "2022-06-19T01:17:39.508609",
     "exception": false,
     "start_time": "2022-06-19T01:17:39.506684",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "papermill": {
   "default_parameters": {},
   "duration": 10.448655,
   "end_time": "2022-06-19T01:17:40.133367",
   "environment_variables": {},
   "exception": null,
   "input_path": "__notebook__.ipynb",
   "output_path": "__notebook__.ipynb",
   "parameters": {},
   "start_time": "2022-06-19T01:17:29.684712",
   "version": "2.3.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
